home *** CD-ROM | disk | FTP | other *** search
/ Choice 4 / Choice CD-ROM 4 - Disc 2.iso / qtwsetup / setup.mst < prev    next >
Text File  |  1995-06-16  |  13KB  |  401 lines

  1. '**************************************************************************
  2. '*                QuickTime for Windows 2.0.3セットアップ
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST STARTQT20     = 210    ''QTWインストール開始メッセージ
  14. CONST NUKEOLD       = 220    ''QTW削除のウィンドウ
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 1000
  20. CONST BADPATH       = 6400
  21. CONST BILLBOARD     = 4545
  22. CONST CHOPTIONS        = 2500
  23. CONST OLDMESS       = 5010    '' インストール済みQTWを検索中メッセージ
  24. CONST OPTIONHELP    = 900    ''オプションのヘルプ
  25. CONST QTWHELP       = 910    ''QTW削除のヘルプ
  26. CONST FILES_REMOVED = 1
  27. CONST FILES_SKIPPED = 2
  28. CONST RENAME_OK     = 1
  29. CONST RENAME_NG     = 2
  30. CONST BADWINDOWS    = 101
  31.  
  32. CONST MB_OKCANCEL         = 1
  33. CONST MB_ABORTRETRYIGNORE = 2
  34. CONST MB_YESNOCANCEL      = 3
  35. CONST MB_YESNO            = 4
  36. CONST MB_RETRYCANCEL      = 5
  37. CONST MB_TYPEMASK         = 15
  38.  
  39. CONST MB_ICONQUESTION     = 32
  40. CONST MB_ICONEXCLAMATION  = 48
  41. CONST MB_ICONASTERISK     = 64
  42.  
  43. CONST MB_ICONINFORMATION  = MB_ICONASTERISK
  44. CONST MB_ICONSTOP         = MB_ICONHAND
  45.  
  46.  
  47.  
  48. ''Bitmap ID
  49. CONST LOGO = 1
  50.  
  51. GLOBAL WINSYSDIR$   '' Windows\system dirctory.
  52. GLOBAL WINDIR$        '' Windows directory.
  53. GLOBAL CUIDLL$
  54. GLOBAL HELPPROC$
  55. GLOBAL GROUP$        ''グループ名
  56.  
  57.  
  58. DECLARE SUB InstallQTW
  59. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  60. DECLARE FUNCTION MakePath2 (szDir$, szFile$) AS STRING
  61. DECLARE FUNCTION BitmapCntrlInit LIB "mscuistf.dll" as INTEGER
  62.  
  63. DECLARE FUNCTION CheckForOld AS INTEGER    ''インストール済みQTW検索
  64. DECLARE FUNCTION RemoveOldQTFiles (FilePath$) AS INTEGER ''QTWファイルの消去
  65. DECLARE SUB      RenameOldQT (szFilePath$)                 ''QTWファイルのリネーム
  66. DECLARE SUB      RenameOldQTr                ''QTWファイルのリネームを元に戻す
  67. DECLARE FUNCTION ShowWindow LIB "user" (ss%,ss%) AS INTEGER
  68.  
  69. ''Dialog list symbol names
  70. GLOBAL HARDDRIVES$
  71. GLOBAL QTDIRLIST$
  72.  
  73.  
  74.  
  75. INIT:
  76.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  77.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  78.  
  79.     SetBitmap CUIDLL$, LOGO
  80.     SetTitle "QuickTime for Windows セットアップ"
  81.     SetAbout "QuickTime for Windows セットアップ", "バージョン 2.0.2"
  82.     i % = ShowWindow(HwndFrame(),3)        ''フルスクリーン
  83.     HARDDRIVES$ = "HardDrives"    ''ハードディスクのリスト
  84.     QTDIRLIST$ = "Qtdirlist"    ''QTWを残すディレクトリ
  85.     GROUP$ = "QuickTime for Windows"
  86.  
  87.     GetLocalHardDrivesList HARDDRIVES$
  88.  
  89.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  90.     IF szInf$ = "" THEN
  91.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  92.     END IF
  93.     ReadInfFile szInf$
  94.  
  95. rem Make sure that we are running on Windows 3.1 or better
  96. rem ------------------------------------------------------
  97.     IF GetWindowsMajorVersion() < 3 THEN
  98.        sz$ = UIStartDlg(CUIDLL$, BADWINDOWS, "FInfo0DlgProc", 0, "")
  99.        UIPop 1
  100.        END
  101.     END IF
  102.  
  103.     IF (GetWindowsMajorVersion() = 3) AND (GetWindowsMinorVersion() < 10) THEN
  104.        sz$ = UIStartDlg(CUIDLL$, BADWINDOWS, "FInfo0DlgProc", 0, "")
  105.        UIPop 1
  106.        END
  107.     END IF
  108.  
  109.     WINDIR$ = GetWindowsDir()
  110.     WINSYSDIR$ = GetWindowsSysDir()
  111.  
  112.     W$ = MID$(GetWindowsDir, 1, 1)
  113.     IF (IsDriveValid(W$) = 0) OR (W$ = "") THEN
  114.         i% = DoMsgBox("Windows ドライブ ('"+W$+"') は、無効なドライブです。", "エラー", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  115.     END
  116.     END IF
  117.  
  118. WELCOME:
  119.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  120.     IF sz$ = "CONTINUE" THEN
  121.         UIPop 1
  122.     ELSEIF sz$ = "REACTIVATE" THEN
  123.         GOTO WELCOME
  124.     ELSE
  125.         GOSUB ASKQUIT
  126.         GOTO WELCOME
  127.     END IF
  128.  
  129. rem **
  130. rem * QTW2.0.3 をインストール
  131. rem ******************************************************************************
  132.  
  133. QTW20INST:
  134.     InstallQTW
  135.  
  136. rem *************************************************************************************
  137. rem QUIT
  138. rem *************************************************************************************
  139.  
  140. QUIT:
  141.     ON ERROR GOTO ERRQUIT
  142.  
  143.     IF ERR = 0 THEN
  144.         dlg% = EXITSUCCESS
  145.     ELSEIF ERR = STFQUIT THEN
  146.         dlg% = EXITQUIT
  147.     ELSE
  148.         dlg% = EXITFAILURE
  149.     END IF
  150. QUITL1:
  151.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  152.     IF sz$ = "REACTIVATE" THEN
  153.         GOTO QUITL1
  154.     END IF
  155.     UIPop 1
  156.  
  157.     END
  158.  
  159. ERRQUIT:
  160.     i% = DoMsgBox("セットアップでエラーが発生しました。", "エラー", MB_OK+MB_TASKMODAL+MB_ICONSTOP)
  161.     END
  162.  
  163.  
  164.  
  165. BADPATH:
  166.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  167.     IF sz$ = "REACTIVATE" THEN
  168.         GOTO BADPATH
  169.     END IF
  170.     UIPop 1
  171.     RETURN
  172.  
  173.  
  174. ASKQUIT:
  175. ASKQUIT1:
  176.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  177.  
  178.     IF sz$ = "EXIT" THEN
  179.         UIPopAll
  180.         ERROR STFQUIT
  181.     ELSEIF sz$ = "REACTIVATE" THEN
  182.         GOTO ASKQUIT1
  183.     ELSE
  184.         UIPop 1
  185.     END IF
  186.     RETURN
  187.  
  188.  
  189.  
  190. rem **
  191. rem ** QTW2.0.3.51のインストール
  192. rem *************************************************************************
  193. SUB InstallQTW STATIC
  194.  
  195.     i% = CheckForOld()    ''古いQTWの削除
  196.  
  197.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  198.     AddSectionFilesToCopyList "Files 1", SrcDir$, WINSYSDIR$
  199.     AddSectionFilesToCopyList "Files 2", SrcDir$, WINDIR$
  200.     CopyFilesInCopyList
  201.  
  202.     CreateIniKeyValue "WIN.INI", "Extensions", "mov", MakePath(WINDIR$,"player.exe") + " ^.mov", cmoOverwrite
  203.     CreateIniKeyValue "WIN.INI", "Extensions", "pic", MakePath(WINDIR$,"viewer.exe") + " ^.pic", cmoOverwrite
  204.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "mov", "QTWVideo", cmoOverwrite
  205.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "pic", "QTWVideo", cmoOverwrite
  206.     CreateIniKeyValue "WIN.INI", "MCI Extensions", "jpg", "QTWVideo", cmoOverwrite
  207.     CreateIniKeyValue MakePath(WINDIR$,"SYSTEM.INI"), "MCI","QTWVideo",MakePath(WINSYSDIR$, "mciqtw.drv"), cmoOverwrite
  208.  
  209.     CreateIniKeyValue MakePath(WINDIR$,"SYSTEM.INI"), "Macx","DeviceBitmap","OFF", cmoOverwrite
  210. rem   i% = WritePrivateProfileString("Macx", "DeviceBitmap", "OFF", "SYSTEM.INI")
  211.     CreateIniKeyValue "WIN.INI", "Mach", "devicebitmap", "off", cmoOverwrite
  212.  
  213.     RUN MakePath(WINDIR$, "player.exe") + " install"
  214.     RUN MakePath(WINDIR$, "viewer.exe") + " install"
  215.  
  216.     rem Create a Program Manager group
  217.     rem ------------------------------
  218.            CreateProgmanGroup GROUP$, "", cmoNone
  219.            CreateProgmanItem GROUP$, "Movie Player", MakePath(WINDIR$,"PLAYER.EXE"), "", cmoOverwrite
  220.            CreateProgmanItem GROUP$, "Picture Viewer", MakePath(WINDIR$,"VIEWER.EXE"), "", cmoOverwrite
  221.  
  222.  
  223. END SUB
  224.  
  225.  
  226. rem *
  227. rem * QuickTimeの古いバージョンがあるかチェックする
  228. rem *************************************************************************
  229. FUNCTION CheckForOld STATIC AS INTEGER
  230.  
  231.     sz$ = UIStartDlg(CUIDLL$, OLDMESS, "FModelessDlgProc", 0, "")
  232.  
  233.     GetLocalHardDrivesList "HardDrives"
  234.     NumDrives% = GetListLength("HardDrives")
  235.  
  236.     IF (NUMDRIVES% > 0) THEN
  237.          FOR i% = 1 TO NumDrives% STEP 1
  238.             CurrentDrive$ = GetListItem("HardDrives",i%) + ":\"
  239.             CheckForOld3:
  240.                 cursor% = ShowWaitCursor()
  241.                 OldFilePath$ = FindFileInTree("qtim.dll",CurrentDrive$)
  242.                 RestoreCursor cursor%
  243.                 IF (OldFilePath$ <> "") THEN
  244.                     j% = RemoveOldQTFiles(OldFilePath$)
  245.                     GOTO CheckForOld3
  246.                 END IF
  247.          NEXT i%
  248.     END IF
  249.     UIPOP 1
  250.  
  251.     IF (NUMDRIVES% > 0) THEN
  252.     RenameOldQTr
  253.     END IF
  254.  
  255. END FUNCTION
  256.  
  257. rem *
  258. rem * QTIM.DLLをQTIM.DL_にリネームして見つからないようにする
  259. rem ***************************************************************************
  260. SUB RenameOldQT (szFilePath$) STATIC
  261.     SPLITPATH szFilePath$, drv$, dir$, filename$, e